<meta charset="utf-8"/>
<?php

//正则表达式
/*
模式修正符号:
    i : 表示在和模式进行匹配不区分大小写
    m : 默认情况下，将字符串视为一行，^ $视为多行后，任意一行都可以以正则开始或结束
    S : 如果没有使用这个模式修正符号时，元字符中的"." 号默认不能表示换行符号，将字符串视为单行
    x : 表示模式中的空白忽略不计
    U : 取消“贪婪”模式 ，和 ? 号功能一样
    A : 强制以什么开头，跟^一样
    Z : 强制以什么结尾，跟$一样
*/

       // $parttern = "/abc/i";//i:不区分大小写
       // $string = "dsdafAbchghg";


//        $parttern = "/one$/m";//m : 不是整个字符串以one结尾，而是每行字符以one作为结束
//        $string = "6346
// 436432304one\n
// jk43j2s\n
// dfvf";

       // $parttern = "/a.c/s"; //加了 s  "."号就可以表示任意符号，包括换行符
       // $string = "uksdfja\nckjlkjlkj";

       //$parttern = "/this is test/x";//x:可以忽略模式中的空白
       //假如我想让他既可以匹配空白也可以忽略不计
       // $parttern = "/this\s?is\s?test/x";// \s 有  ？没有  \s?就表示可以有，可以没有空白
       // $string = "this is test";
      // if(preg_match($parttern,$string,$arr)){
      //  	  echo '匹配成功';
      //  	  echo '<pre>';
      //  	  print_r($arr);
      //  	  echo '</pre>';
      //  }else{
      //  	  echo '匹配失败';
      //  }


       //正则表达式有“贪婪”的特点 通常用(.*)或者(.+)表示
       //b是特殊字符，需要转义\
       //$parttern = "/\<b>(.*)<\/b>/";//匹配所有字符
       //取消贪婪模式用 U 或者 ?
       //$parttern = "/\<b>(.*?)<\/b>/";//匹配<b>标签内的hello  php  javascript,还可以如下
       $parttern = "/\<b>(.*)<\/b>/U";//匹配<b>标签内的hello  php  javascript
       $string = "<b>hello</b>asdffg<b>php</b>jfdgfgfldgd<b>javascript</b>gfgfhdf";

       if(preg_match_all($parttern,$string,$arr)){
       	  echo '匹配成功';
       	  echo '<pre>';
       	  print_r($arr);
       	  echo '</pre>';
       }else{
       	  echo '匹配失败';
       }

























